﻿// 102 栈2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using  namespace std;
/*
http://oj.daimayuan.top/course/7/problem/53


栈是一种数据结构。现在你要支持几种操作：

push x，将 x这个元素放到栈顶。

pop，表示将栈顶的元素删除。

query k，询问从栈顶往下数第 k个元素是多少。

输入格式
第一行一个整数 m，表示操作个数。

接下来 m行，每行一个上面所述的操作。

输出格式
输出若干行，对于每个查询操作，输出答案。

样例输入
10
push 1
push 2
query 1
query 2
push 3
query 1
pop
query 1
push 4
query 1
样例输出
2
1
3
2
4
数据规模
对于 100%的数据，保证 1≤m≤105。
对于 push 操作，保证 1≤x≤109。
对于 pop 操作，保证栈非空。

对于 query 操作，保证 k≥1且 k不超过栈里面的元素个数。
*/


const int N = 100010;
int st[N]; int idx;
int m;


int main()
{
	cin >> m;
	for (int i = 0; i < m; i++) {
		string op; int a;
		cin >> op;
		if (op == "push") {
			cin >> a;
			st[idx] = a; idx++;
		}
		else if (op == "pop") {
			idx--;
		}
		else if (op == "query") {
			cin >> a;
			cout << st[idx-a] << endl;
		}
	}

	return 0;
}
 